The present invention is directed in general toward distributed processing systems and, more particularly, toward a local interconnection scheme for use with very high speed distributed processing networks.
Distributed processing is used herein to refer to systems in which a plurality of independent signal processing cells interact to perform a multiplicity of signal processing functions. Local interconnection, or neighborhood interconnection schemes are those in which each processor is adapted to communicate with only a few neighboring processors. Distributed processing architectures utilizing a neighborhood interconnection scheme are preferred for applications in which signal processing functions must be performed on a multiplicity of signal, and wherein each function need be performed with only a portion of the data signals.
The aforementioned systems find ready application to processing of data representing some real time characteristic of dimensional space, e.g., radar and image reconstruction applications. In such applications, one processor may be associated with a distinct point in space and will receive a series of input data representing some particular spatial characteristic of the point with which it is associated. Intermediate data input, each processor will interact with neighboring processors to perform processing functions on its received data vis-a-vis its neighbors received data, e.g., filtering, averaging, etc., so as to provide uniform transitions from one point to the next. Consequently, when distributed processing networks are employed to represent dimensional space, one processor of the network need only interact with its neighboring processors, via some local neighborhood interconnection scheme, to perform the necessary processing functions.
In addition to representing dimensional space, other applications for distributed processing systems exist where neighborhood connection schemes are desirable. For example, distributed processing systems are particularly suitable for use with graph algorithms and matrix computations.
When local interconnection schemes are selected for distributed processing systems, it is desirable to provide communication flexibility by maximizing the number of neighboring processors with which each processor can communicate, while also minimizing the number of connections between processors as well as minimizing the time necessary for intercommunication.
One prior art method for interconnecting processors of a two dimensional rectangular processor array provides a dedicated connection between each processor and each of its eight neighbors. While this method is fast and flexible, it uses eight connections for each processor thereby increasing production costs. This interconnection scheme is especially undesirable when the system is embodied in an integrated semiconductor circuit as this method increases the number of semiconductor input/output pads necessary for intercircuit communication. Further, the number of semiconductor input/output pads which can be provided for each semiconductor circuit is limited by physical constraints and, therefore, limits the number of components which can be embodied in a single semiconductor circuit. Thus, in addition to increasing costs as discussed above, the dedicated local connection method limits the number of processors which can be embodied in a single semiconductor circuit by increasing the number of input/output pads necessary for intercircuit communication.
Another prior art neighborhood connection scheme for interconnecting the processors of a two dimensional rectangular array uses multiplexing hardware to reduce the number of connections at the expense of circuit cost and circuit speed. Still another prior art method for interconnecting processors in a distributed processing neighborhood provides direct connection between each processor and only four of its neighbors requiring all intercommunication with the remaining four to be performed in a two step process via its directly connected neighbor. This method is slower than those discussed above and increases software complexity.
Therefore, there exists a need for a neighborhood interconnection scheme for use with a distributed processing network which: (1) minimizes the number of necessary connections between each processor and its neighboring processors, (2) minimizes the time necessary for communication between a processor and each of its neighbors and (3) maximizes the number of neighboring processors with which each processor can communicate.